home *** CD-ROM | disk | FTP | other *** search
/ Nautilus 1992 July / Nautilus-3-8 / Nautilus-3-8.bin / Tools & Utilities / Techy Stuff / Source ƒ / ASM 2.0 ƒ / regs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-15  |  4.6 KB  |  236 lines

  1. /* Register definitions */
  2.  
  3. /* movec registers */
  4. #define SFC     0x000
  5. #define DFC     0x001
  6. #define CACR    0x002
  7. #define USP     0x800
  8. #define VBR     0x801
  9. #define CAAR    0x802
  10. #define MSP     0x803
  11. #define ISP     0x804
  12.  
  13. /* floating point */
  14. #define FPCR    (1<<12)
  15. #define FPSR    (1<<11)
  16. #define FPIAR   (1<<10)
  17.  
  18. /* memory management */
  19. #define TC      0x4000
  20. #define DRP     0x4400
  21. #define SRP     0x4800
  22. #define CRP     0x4C00
  23. #define CAL     0x5000
  24. #define VAL     0x5400
  25. #define SCC     0x5800
  26. #define AC      0x5C00
  27. #define BAD0    0x7000
  28. #define BAD1    0x7004
  29. #define BAD2    0x7008
  30. #define BAD3    0x700C
  31. #define BAD4    0x7010
  32. #define BAD5    0x7014
  33. #define BAD6    0x7018
  34. #define BAD7    0x701C
  35. #define BAC0    0x7400
  36. #define BAC1    0x7404
  37. #define BAC2    0x7408
  38. #define BAC3    0x740C
  39. #define BAC4    0x7410
  40. #define BAC5    0x7414
  41. #define BAC6    0x7418
  42. #define BAC7    0x741C
  43. #define PSR     0x6000
  44. #define PCSR    0x6400
  45. #define TT0     0x0800    /* 68030 only */
  46. #define TT1     0x0C00    /* 68030 only */
  47.  
  48. struct regs {
  49.     char *r_name;
  50.     char r_type;
  51.     int  r_value;
  52.     };
  53.  
  54. struct regs iregs[] = { /* pre-defined internal register names */
  55. #ifdef M68020
  56. "CAAR", CREG,   CAAR,
  57. "caar", CREG,   CAAR,
  58. "CACR", CREG,   CACR,
  59. "cacr", CREG,   CACR,
  60. "ISP",  CREG,   ISP,
  61. "isp",  CREG,   ISP,
  62. "MSP",  CREG,   MSP,
  63. "msp",  CREG,   MSP,
  64. #endif
  65. "DFC",  CREG,   DFC,
  66. "dfc",  CREG,   DFC,
  67. "SFC",  CREG,   SFC,
  68. "sfc",  CREG,   SFC,
  69. "USP",  CREG,   USP,
  70. "usp",  CREG,   USP,
  71. "VBR",  CREG,   VBR,
  72. "vbr",  CREG,   VBR,
  73.  
  74. /* extended indexed addressing registers */
  75. "ZA0",  ZAREG,  0,
  76. "za0",  ZAREG,  0,
  77. "ZA1",  ZAREG,  1,
  78. "za1",  ZAREG,  1,
  79. "ZA2",  ZAREG,  2,
  80. "za2",  ZAREG,  2,
  81. "ZA3",  ZAREG,  3,
  82. "za3",  ZAREG,  3,
  83. "ZA4",  ZAREG,  4,
  84. "za4",  ZAREG,  4,
  85. "ZA5",  ZAREG,  5,
  86. "za5",  ZAREG,  5,
  87. "ZA6",  ZAREG,  6,
  88. "za6",  ZAREG,  6,
  89. "ZA7",  ZAREG,  7,
  90. "za7",  ZAREG,  7,
  91. "ZD0",  ZDREG,  0,
  92. "zd0",  ZDREG,  0,
  93. "ZD1",  ZDREG,  1,
  94. "zd1",  ZDREG,  1,
  95. "ZD2",  ZDREG,  2,
  96. "zd2",  ZDREG,  2,
  97. "ZD3",  ZDREG,  3,
  98. "zd3",  ZDREG,  3,
  99. "ZD4",  ZDREG,  4,
  100. "zd4",  ZDREG,  4,
  101. "ZD5",  ZDREG,  5,
  102. "zd5",  ZDREG,  5,
  103. "ZD6",  ZDREG,  6,
  104. "zd6",  ZDREG,  6,
  105. "ZD7",  ZDREG,  7,
  106. "zd7",  ZDREG,  7,
  107. "zpc",  ZPC,    0,
  108. "ZPC",  ZPC,    0,
  109.  
  110. #ifdef FLOAT
  111. "FP0",  FREG,   0,
  112. "fp0",  FREG,   0,
  113. "FP1",  FREG,   1,
  114. "fp1",  FREG,   1,
  115. "FP2",  FREG,   2,
  116. "fp2",  FREG,   2,
  117. "FP3",  FREG,   3,
  118. "fp3",  FREG,   3,
  119. "FP4",  FREG,   4,
  120. "fp4",  FREG,   4,
  121. "FP5",  FREG,   5,
  122. "fp5",  FREG,   5,
  123. "FP6",  FREG,   6,
  124. "fp6",  FREG,   6,
  125. "FP7",  FREG,   7,
  126. "fp7",  FREG,   7,
  127. "FPCR", FCREG,  FPCR,
  128. "fpcr", FCREG,  FPCR,
  129. "FPSR", FCREG,  FPSR,
  130. "fpsr", FCREG,  FPSR,
  131. "FPIAR",FCREG,  FPIAR,
  132. "fpiar",FCREG,  FPIAR,
  133. #endif
  134.  
  135. #ifdef PMMU
  136. "AC",   PREG,   AC,
  137. "ac",   PREG,   AC,
  138. "BAC0", PREG,   BAC0,
  139. "bac0", PREG,   BAC0,
  140. "BAC1", PREG,   BAC1,
  141. "bac1", PREG,   BAC1,
  142. "BAC2", PREG,   BAC2,
  143. "bac2", PREG,   BAC2,
  144. "BAC3", PREG,   BAC3,
  145. "bac3", PREG,   BAC3,
  146. "BAC4", PREG,   BAC4,
  147. "bac4", PREG,   BAC4,
  148. "BAC5", PREG,   BAC5,
  149. "bac5", PREG,   BAC5,
  150. "BAC6", PREG,   BAC6,
  151. "bac6", PREG,   BAC6,
  152. "BAC7", PREG,   BAC7,
  153. "bac7", PREG,   BAC7,
  154. "BAD0", PREG,   BAD0,
  155. "bad0", PREG,   BAD0,
  156. "BAD1", PREG,   BAD1,
  157. "bad1", PREG,   BAD1,
  158. "BAD2", PREG,   BAD2,
  159. "bad2", PREG,   BAD2,
  160. "BAD3", PREG,   BAD3,
  161. "bad3", PREG,   BAD3,
  162. "BAD4", PREG,   BAD4,
  163. "bad4", PREG,   BAD4,
  164. "BAD5", PREG,   BAD5,
  165. "bad5", PREG,   BAD5,
  166. "BAD6", PREG,   BAD6,
  167. "bad6", PREG,   BAD6,
  168. "BAD7", PREG,   BAD7,
  169. "bad7", PREG,   BAD7,
  170. "CAL",  PREG,   CAL,
  171. "cal",  PREG,   CAL,
  172. "CRP",  PREG,   CRP,
  173. "crp",  PREG,   CRP,
  174. "DRP",  PREG,   DRP,
  175. "drp",  PREG,   DRP,
  176. "PCSR", PREG,   PCSR,
  177. "pcsr", PREG,   PCSR,
  178. "PSR",  PREG,   PSR,
  179. "psr",  PREG,   PSR,
  180. "SCC",  PREG,   SCC,
  181. "scc",  PREG,   SCC,
  182. "SRP",  PREG,   SRP,
  183. "srp",  PREG,   SRP,
  184. "TC",   PREG,   TC,
  185. "tc",   PREG,   TC,
  186. "VAL",  PREG,   VAL,
  187. "val",  PREG,   VAL,
  188. "TT0",  PREG,   TT0,
  189. "tt0",  PREG,   TT0,
  190. "TT1",  PREG,   TT1,
  191. "tt1",  PREG,   TT1,
  192. #endif
  193.  
  194. "A0",   AREG,   0,
  195. "a0",   AREG,   0,
  196. "A1",   AREG,   1,
  197. "a1",   AREG,   1,
  198. "A2",   AREG,   2,
  199. "a2",   AREG,   2,
  200. "A3",   AREG,   3,
  201. "a3",   AREG,   3,
  202. "A4",   AREG,   4,
  203. "a4",   AREG,   4,
  204. "A5",   AREG,   5,
  205. "a5",   AREG,   5,
  206. "A6",   AREG,   6,
  207. "a6",   AREG,   6,
  208. "A7",   AREG,   7,
  209. "SP",   AREG,   7,
  210. "a7",   AREG,   7,
  211. "sp",   AREG,   7,
  212. "D0",   DREG,   0,
  213. "d0",   DREG,   0,
  214. "D1",   DREG,   1,
  215. "d1",   DREG,   1,
  216. "D2",   DREG,   2,
  217. "d2",   DREG,   2,
  218. "D3",   DREG,   3,
  219. "d3",   DREG,   3,
  220. "D4",   DREG,   4,
  221. "d4",   DREG,   4,
  222. "D5",   DREG,   5,
  223. "d5",   DREG,   5,
  224. "D6",   DREG,   6,
  225. "d6",   DREG,   6,
  226. "D7",   DREG,   7,
  227. "d7",   DREG,   7,
  228. "CCR",  SREG,   CCR,
  229. "ccr",  SREG,   CCR,
  230. "SR",   SREG,   SR,
  231. "sr",   SREG,   SR,
  232. "PC",   PC,     0,
  233. "pc",   PC,     0
  234. };
  235. #define NIREGS  (sizeof(iregs)/sizeof(iregs[0]))
  236.